Quantos Caminhos Existem para Pintar um Cubo?
Uma exploração de cores e simetrias do cubo
[Direções : Execute primeiramente a seção Code Resource. Embora não haja output imediato, essas definições serão usadas posteriormente nessa worksheet.]
0. Código
| > | restart; |
| > | with(plots): |
Warning, the name changecoords has been redefined
| > | #---------------------------------------------- # 1 is pink, 2 is green, 3 is blue, 4 is yellow, 5 is red, 6 is white c1 := COLOR(RGB, .97,.58,.67): c2 := COLOR(RGB,.2,.7,.2): c3 := COLOR(RGB,.3,.3,.7): c4 := COLOR(RGB,.99,.7, 0): c5 := COLOR(RGB,.9, .1, .1): c6 := COLOR(RGB,.85,.8, .7): C1 := 'style=patchnogrid, color = c1': C2 := 'style=patchnogrid, color = c2': C3 := 'style=patchnogrid, color = c3': C4 := 'style=patchnogrid, color = c4': C5 := 'style=patchnogrid, color = c5': C6 := 'style=patchnogrid, color = c6': d1 := COLOR(RGB, .8,.5,.6): d2 := COLOR(RGB, .1,.4,.1): d3 := COLOR(RGB, .2,.2,.4): d4 := COLOR(RGB, .95,.6, 0): d5 := COLOR(RGB, .72, 0, 0): d6 := COLOR(RGB, .72,.64, .5): D1 := 'style=patchnogrid, color = d1': D2 := 'style=patchnogrid, color = d2': D3 := 'style=patchnogrid, color = d3': D4 := 'style=patchnogrid, color = d4': D5 := 'style=patchnogrid, color = d5': D6 := 'style=patchnogrid, color = d6': cb := 'COLOR(RGB,.1,.1,.1)': ls := 'STYLE(LINE),THICKNESS(2),LINESTYLE(3)': #---------------------------------------------- |
| > | #============================================================= ColoredSheets := proc( fr, bk, le, ri, tp, bt ) # colors for : front, back, left, right, top, bottom .... local k,Z,PP,y; for k from 1 to 6 do y := args[k]; Z := C||y; PP||k := polygonplot( [[k-1,0],[k,0],[k,k],[k-1,k],[k-1,0]], Z) : QQ||k := polygonplot( [[k-1,0],[k,0],[k,k],[k-1,k],[k-1,0]], color = black) : od; display( [seq(PP||k, k = 1..6),seq(QQ||k, k = 1..6)], scaling=constrained,axes=none ); end proc: |
| > |
| > | #============================================================= ColorCubeOpen := proc( fr, bk, le, ri, tp, bt ) # colors for : front, back, left, right, top, bottom .... local Fr,Bk,Le,Ri,Tp,Bt,x,y,R,theta,aa,Z, Bf,Rf, clb; clb := 'color = COLOR(RGB,.1,.1,.1)': R := .6; theta := Pi/4; x := evalf(R*cos(theta)); y := evalf(R*sin(theta)); aa:= .25; Z := C||fr; Fr := polygonplot( [[0,0],[1,0],[1,1],[0,1],[0,0]], Z) : Z := D||bk; Bk := polygonplot( [[-x,y],[1-x,y],[1-x,y +1],[-x,y+1],[-x,y]], Z): Z := C||le; Le := polygonplot( [[0,0],[-x,y],[-x,y +1],[0,1],[0,0]], Z): Z := D||ri; Ri := polygonplot( [[1,0],[1-x,y],[1-x,y +1],[1,1],[1,0]], Z): Z := C||tp; Tp := polygonplot( [[-x,y+1],[1-x,y+1],[1,y+y+1],[0,y+y+1],[-x,y+1]], Z): Z := D||bt; Bt := polygonplot( [[-aa,y-1+aa],[1-aa,y-1+aa],[1-x,y ],[-x,y], [-aa,y-1+aa]], Z ): Bf := polygonplot( [[1-x,1],[1-x,y +1]],clb): Rf := polygonplot( [[0,0],[0,1]],clb): display( [ Fr,Le,Tp,Bt,Ri,Bk,Bf,Rf ], scaling = constrained,axes=none ); end proc: |
| > | #============================================================= ColorCube := proc( fr, bk, le, ri, tp, bt ) local XY0,XY1,XZ0,XZ1,YZ0,YZ1,Z; Z := d||bk; XY0 := PLOT3D( POLYGONS([[0,0,0],[1,0,0],[1,1,0],[0,1,0]]), STYLE(PATCH), Z): Z := c||fr; XY1 := PLOT3D( POLYGONS([[0,0,1],[1,0,1],[1,1,1],[0,1,1]]), STYLE(PATCH), Z): Z := d||le; XZ0 := PLOT3D( POLYGONS([[0,0,0],[1,0,0],[1,0,1],[0,0,1]]), STYLE(PATCH), Z): Z := c||ri; XZ1 := PLOT3D( POLYGONS([[0,1,0],[1,1,0],[1,1,1],[0,1,1]]), STYLE(PATCH), Z): Z := d||bt; YZ0 := PLOT3D( POLYGONS([[0,0,0],[0,1,0],[0,1,1],[0,0,1]]), STYLE(PATCH), Z): Z := c||tp; YZ1 := PLOT3D( POLYGONS([[1,0,0],[1,1,0],[1,1,1],[1,0,1]]), STYLE(PATCH), Z): display(XY0,XY1,XZ0,XZ1,YZ0,YZ1, scaling = constrained); end proc: |
| > | ColorCubeRotation := proc( case ) local XY0,XY1,XZ0,XZ1,YZ0,YZ1,b,d,A1,A2,O; XY0 := PLOT3D( POLYGONS([[0,0,0],[1,0,0],[1,1,0],[0,1,0]]), STYLE(PATCH), c1): XY1 := PLOT3D( POLYGONS([[0,0,1],[1,0,1],[1,1,1],[0,1,1]]), STYLE(PATCH), c1): XZ0 := PLOT3D( POLYGONS([[0,0,0],[1,0,0],[1,0,1],[0,0,1]]), STYLE(PATCH), c5): XZ1 := PLOT3D( POLYGONS([[0,1,0],[1,1,0],[1,1,1],[0,1,1]]), STYLE(PATCH), c5): YZ0 := PLOT3D( POLYGONS([[0,0,0],[0,1,0],[0,1,1],[0,0,1]]), STYLE(PATCH), c6): YZ1 := PLOT3D( POLYGONS([[1,0,0],[1,1,0],[1,1,1],[1,0,1]]), STYLE(PATCH), c6): b := 1.65; d := 1-b; #------------ face axes ----------------------------- if (case = 1) then A1 := PLOT3D( CURVES( [[.5, .5, 1],[.5,.5, b]]), cb,ls): A2 := PLOT3D( CURVES( [[.5, .5, 0],[.5,.5, d]]), cb,ls): O:=[30,72]; fi; if (case = 2) then A1 := PLOT3D( CURVES( [[.5, 1, .5],[.5, b,.5]]), cb,ls): A2 := PLOT3D( CURVES( [[.5, 0, .5],[.5, d,.5]]), cb,ls): O:=[38,72]; fi; if (case = 3) then A1 := PLOT3D( CURVES( [[ 1, .5, .5],[ b, .5,.5 ]]), cb,ls): A2 := PLOT3D( CURVES( [[ 0, .5, .5],[ d, .5,.5 ]]), cb,ls): O:=[50,72]; fi; #------------ EDGES ----------------------------- if (case = 4) then A1 := PLOT3D( CURVES( [[ 1, .5, 1], [ b, .5, b ]]), cb,ls): A2 := PLOT3D( CURVES( [[ 0, .5, 0], [ d, .5, d ]]), cb,ls): O:=[44,72]; fi; if (case = 5) then A1 := PLOT3D( CURVES( [[ 0, .5, 1], [ d, .5, b ]]), cb,ls): A2 := PLOT3D( CURVES( [[ 1, .5, 0], [ b, .5, d ]]), cb,ls): O:=[44,72]; fi; if (case = 6) then A1 := PLOT3D( CURVES( [[.5, 1, 1], [.5, b, b ]]), cb,ls): A2 := PLOT3D( CURVES( [[.5, 0, 0], [.5, d, d ]]), cb,ls): O:=[44,72]; fi; if (case = 7) then A1 := PLOT3D( CURVES( [[ .5, 0, 1], [ .5, d, b ]]), cb,ls): A2 := PLOT3D( CURVES( [[ .5, 1, 0], [ .5, b, d ]]), cb,ls): O:=[44,72]; fi; if (case = 8) then A1 := PLOT3D( CURVES( [[ 1, 1, .5], [ b, b, .5 ]]), cb,ls): A2 := PLOT3D( CURVES( [[ 0, 0, .5], [ d, d, .5 ]]), cb,ls): O:=[16,82]; fi; if (case = 9) then A1 := PLOT3D( CURVES( [[ 0, 1, .5], [ d, b, .5 ]]), cb,ls): A2 := PLOT3D( CURVES( [[ 1, 0, .5], [ b, d, .5 ]]), cb,ls): O:=[30,65]; fi; #------------ CORNERS ----------------------------- if (case = 10) then A1 := PLOT3D( CURVES( [[ 1, 1, 1], [ b, b, b ]]), cb,ls): A2 := PLOT3D( CURVES( [[ 0, 0, 0], [ d, d, d ]]), cb,ls): O:=[20,80]; fi; if (case = 11) then A1 := PLOT3D( CURVES( [[ 1, 0, 1], [ b, d, b ]]), cb,ls): A2 := PLOT3D( CURVES( [[ 0, 1, 0], [ d, b, d ]]), cb,ls): O:=[18,72]; fi; if (case = 12) then A1 := PLOT3D( CURVES( [[ 0, 1, 1], [ d, b, b ]]), cb,ls): A2 := PLOT3D( CURVES( [[ 1, 0, 0], [ b, d, d ]]), cb,ls): O:=[20,80]; fi; #------------------------------------------------- display(XY0,XY1,XZ0,XZ1,YZ0,YZ1,A1,A2, scaling = constrained, orientation = O); end proc: |
| > |
1. Pintando Outro Objeto de Seis Lados
Ele será apresentado, depois de uma exploração fascinante, colorir envolve a sutilidade da simetria de um cubo. Antes de chegarmos a tudo isso, vamos olhar uma simples figura que também tem seis faces, mas não "está sujeita" a simetrias que complicam o problema.
| > | ColoredSheets( 1,2,4,1,3,2); |
Cada uma das superfícies nesse caso é de um tamanho diferente, e girar ou mover a forma irá resultar em uma forma que pareça a mesma.
1. Número de Maneiras de Colorir :
Usando 1 Cor
Usando uma única cor, só existe uma maneira de pintar a figura.
| > | 1^6; |
| > | ColoredSheets( 3,3,3,3,3,3); |
2. Número de Maneiras de Pintar :
Usando 2 Cores
Cada face tem duas opções para uma cor. Existem seis faces, então 2 x 2 x 2 x 2 x 2 x 2 = 2^6. Vamos olhar várias destas 64.
| > | 2^6; |
| > | ColoredSheets( 3,3,3,4,4,4 ); |
| > | ColoredSheets( 3,4,3,4,3,4 ); |
| > | ColoredSheets( 3,4,3,4,4,4 ); |
| > | ColoredSheets( 3,4,4,3,4,3); |
| > | ColoredSheets( 4,4,3,4,3,4 ); |
3. Número de Maneiras de Pintar :
Usando 3 Cores
Cada face tem três opções para uma cor
| > | 3^6; |
| > | ColoredSheets( 1,1,2,2,3,3); |
| > | ColoredSheets( 3,3,1,1,2,2); |
| > | ColoredSheets( 1,2,3,1,2,3 ); |
| > | ColoredSheets( 1,2,1,3,1,1); |
4. Número de Maneiras de Pintar :
Usando 4 Cores
Cada face tem quatro opções para uma cor
| > | 4^6; |
| > | ColoredSheets( 3, 4, 5, 6, 4, 3); |
| > | ColoredSheets( 5,5,5,4,6,3); |
5. Número de Maneiras de Pintar :
Usando 5 Cores
Cada face oferece opções para uma cor.
| > | 5^6; |
| > | ColoredSheets( 1,2,3,4,5,2); |
| > | ColoredSheets( 4,3,1,2,1,5); |
6. Número de Maneiras de Pintar :
Usando 6 Cores
Usando uma única cor, só existe uma maneira de pintar a figura.
| > | 6^6; |
| > | ColoredSheets(1, 2, 3, 4, 5, 6); |
| > | ColoredSheets(1, 6, 3, 5, 2, 4); |
2. Pintando um Cubo
Vamos agora olhar um cubo. Cubos também tem seis lados, mas eles são formas tri-dimensionais e não figuras planas. Para tornar fácil ver todos os lados em uma única olhada nós podemos usar esse esquema de cubo onde as faces do topo e do meio são um pouco abertas, para que nós possamos ver todos os seis lados de uma vez.
| > | ColorCubeOpen( 6,6,6,6,6,6); |
As faces de um cubo podem ser pintadas de várias maneiras também. De fato qualquer combinação usada acima pode também ser usada em um cubo. (Você pode querer pegar a imagem abaixo e girá-la para olhar todas as seis faces.)
| > | ColorCube( 1,2,3,4,5,6 ); `Grab this cube with the mouse, and turn it to see the other sides`; |
Aqui estão alguns cubos coloridos. Por favor examine-os de todos os ângulos e compare com as tri-dimensionais.
| > | ColorCube( 1,2,3, 1,2, 3 ); `Grab this cube with the mouse, and turn it to see the other sides`; |
| > | ColorCubeOpen( 1,2,3,1,2,3); |
| > | ColorCube( 3,6,5, 2,3,5 ); `Grab this cube with the mouse, and turn it to see the other sides`; |
| > | ColorCubeOpen( 3,6,5, 2,3,5 ); |
3. Problemas ao Colorir os Cubos
Vamos olhar essas três formas coloridas com as quais nós trabalhamos acima. Observe que cada uma das três tem dois lados amarelos e 4 lados azuis. Mas os três resultados são completamente diferentes.
| > | ColoredSheets( 6,6,2,2,3,3 ); |
| > | ColoredSheets( 2,2,3,3,6,6 ); |
| > | ColoredSheets( 3,3,6,6,2,2 ); |
Agora olhe esses três cubos coloridos similares. Existe algo similar entre eles. Você pode explicar a existência de atributos comuns?
| > | ColorCubeOpen( 6,6,2,2,3,3 ); |
| > | ColorCubeOpen( 2,2,3,3,6,6 ); |
| > | ColorCubeOpen( 3,3,6,6,2,2 ); |
As três colorações diferentes da figura plana eram três cores distintas. No entanto, as três cores do cubo que nós realizamos são as mesmas - ja que você pode girar um cubo pintado da primeira das três maneiras, para obter qualquer um dos outros dois. Outra maneira de olhá-lo, é se você tem três cubos e os pintou das três maneiras que fizemos acima, e esses cubos foram colocados em uma garrafa e depois agitados, e então colocados em cima de uma mesa, você poderia discernir qual cubo é qual? Não.
ã
4. Rotações do Cubo
Fica fácil se nós examinarmos algumas das maneiras pelas quais podemos girar um cubo. Isso é importante porque duas colorações diferentes do cubo podem se tornar equivalentes, depois de rotações.
Cada rotação tem um eixo de rotação. Cada um dos diagrmas tridimensionais abaixo podem ser organizados usando o mouse. Tente girar o cubo, mantendo o eixo indicado fixo.
I. Eixos através de Faces Opostas
| > | ColorCubeRotation(1); |
| > | ColorCubeRotation(2); |
| > | ColorCubeRotation(3); |
Que tipo de cores podem ser fixadas por um ou mais desses tipos de rotação?
- Se o eixo de rotação passa através de duas faces opostas, e as faces restantes são as mesmas cores, então 1, 2, ou 3 rotações produzem a mesma cor.
- Se uma das faces restantes é uma cor, e as outras três outra, então uma rotação dupla desse tipo irá produzir o mesmo resultado
- Se pares opostos de quatro cores remanescentes são da mesma cor, rotações duplas também fixam essa coloração
II. Eixos Através de Extremidades Opostas
| > | ColorCubeRotation(4); |
| > | ColorCubeRotation(5); |
| > | ColorCubeRotation(6); |
| > | ColorCubeRotation(7); |
| > | ColorCubeRotation(8); |
| > | ColorCubeRotation(9); |
Que tipos de coloração poderiam ser fixadas por um ou mais destes tipos de rotaço?
Um tipo de cor fixado por esse tipo de rotação é quando as duas faces que tocam a extremidade a qual o eixo passa são da mesma cor, e as duas faces opostas são a mesma, e então dois lados remanescentes são o mesmo.
III. Eixos Através de Vértices Opostos
| > | ColorCubeRotation(10); |
| > | ColorCubeRotation(11); |
| > | ColorCubeRotation(12); |
Que tipos de coloração poderiam ser fixadas por um ou mais destes tipos de rotaço?
Se essas três faces que tocam cada vértice do eixo são as mesmas, então a coloração é a mesma.
5. Pintando um Cubo com 1 ou 2 Cores
1. Número de Maneiras de Colorir :
Usando 1 Cor
Usando apenas uma cor, existe uma maneira de pintar a figura.
| > | 1^6; |
| > | ColorCubeOpen( 4,4,4,4,4,4); |
| > | ColorCubeOpen( 1,1,1,1,1,1); |
2. Número de Maneiras de Colorir :
Usando 2 Cores
Cada face tem duas opções para uma cor. De primeiro impacto, pode parecer que existem 2 x 2 x 2 x 2 x 2 x 2 = 2^6 colorações diferentes como nós vimos antes. No entanto, não é verdade porque várias colorações não diferem das outras - depois de rotações.
| > | 2^6; |
1-5
Por exemplo, existem duas maneiras de pintar um lado amarelo, e cinco lados azuis. Todas as seis cores são equivalentes.
| > | ColorCubeOpen(4,3,3,3,3,3); |
| > | ColorCubeOpen(3,3,3,4,3,3); |
| > | ColorCubeOpen(3,3,3,3,4,3); |
2-4
Quando dois lados são pintados de uma cor, e os quatro remanescentes de outra cor, um número de cores que parecem ser diferentes são os mesmos. Por exemplo, se os dois lados verdes estão sempre nas faces opostas... Quantos desse primeiro tipo são equivalentes?
| > | ColorCubeOpen( 2,2,1,1,1,1 ); |
| > | ColorCubeOpen( 1,1,2,2,1,1); |
| > | ColorCubeOpen( 1,1,1,1,2,2 ); |
Não existe outro tipo de coloração que não seja equivalente a estes acima mas os quais também tem dois lados verdes e quatro lados roxos - onde os dois lados verdes formam uma extremidade. Quantos destes são equivalentes?
| > | ColorCubeOpen( 2,1,1,2,1,1); |
| > | ColorCubeOpen( 1,1,1,2,1,2); |
3-3
E três lados brancos e 3 lados vermelhos? Quantas colorações diferentes são possíveis que não sejam equivalentes?
| > | ColorCubeOpen(6,5,6,5,6,5); |
| > | ColorCubeOpen(5,5,5,6,6,6); |
Pintar uma cor em quatro lados e outra cor em dois foi feito acima, tão bem como pintar cinco e uma.
6. Pintando um Cubo com 3 Cores
Cada face tem três opções para uma cor mas novamente existem simetrias. Quantas cores não equivalentes podem ser encontradas?
1-1-4
| > | ColorCubeOpen( 1,3,2,3,3,3); |
1-2-3
| > | ColorCubeOpen( 1,3,2,2,3,3); |
| > | ColorCubeOpen( 1,2,2,3,3,3); |
2-2-2
Cada par de cores pode ser pintado em faxes opostas.
| > | ColorCubeOpen( 1,1,2,2,3,3 ); |
Ou cada par de lados da mesma cor podem compartilhar uma extremidade.
| > | ColorCubeOpen( 1,2,1,3,3,2 ); |
Existe alguma outra maneira de colorir dois lados com cada uma das três cores? Existe uma maneira de ter apenas um par de lados opsotos com a mesma cor?
| > | ColorCubeOpen( 1,2,1,2,3,3 ); |
7. Pintando um Cubo com 4 Cores
Quantas cores equivalentes podem ser encontradas?
1-1-1-3
| > | ColorCubeOpen( 6,4,5,3,3,3); |
| > | ColorCubeOpen( 6,3,5,3,3,4); |
1-1-2-2
| > | ColorCubeOpen( 6,3,4,4,5,5); |
| > | ColorCubeOpen( 6,5,3,4,5,4); |
Cada face tem três opções para uma cor mas novamente existem simetrias. Quantas cores não equivalentes podem ser encontradas?
8. Pintando um Cubo com 5 Cores
Quantas cores não equivalentes podem ser encontradas?
1-1-1-1-2
| > | ColorCubeOpen(1,2,3,4, 5,5); |
| > | ColorCubeOpen(1,5,3,5, 4,2); |
9. Pintando um Cubo com 6 Cores
Cada face tem três opções para uma cor mas existem simetrias. Quantas cores não equivalentes podem ser encontradas?
1-1-1-1-1-1
| > | ColorCubeOpen( 1,2,3,4,5,6); |
| > | ColorCubeOpen( 1,2,4,3,5,6); |
| > |
| > |
10. Número Total de Colorações de um Cubo
Não está claro após a discussão acima, mas existem 57 maneiras de pintar um cubo com três cores. Isso mostrado com um resultado extraído da mais avançada matemática (álgebra abstrata) chamada teorema Burnsides', o qual permite contar as colorações baseado nas transformações que fixam a quantidade determinada de colorações.